package com.jtny.nytb.config.unifiedIdentification.dto;

import com.jtny.component.annotation.QueryParamField;
import com.jtny.component.entity.PageParam;
import com.jtny.component.enums.FieldMatchingTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

/**
 * @author 智慧能源中心 - 伍天宇
 * @package com.jtny.nytb.config.unifiedidentifier.dto
 * @fileName DataUnifiedIdentifierQueryParamDTO.java
 * @createTime 2023年09月25日 15:54
 * @Copyright© 2023 jtny
 * 江投能源技术研究院 版权所有
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class UnifiedIdentifierQueryParamDTO extends PageParam implements Serializable {

    /**
     * 数据上报标识
     */
    @ApiModelProperty(value = "数据上报标识, 精确查询")
    @QueryParamField(columnName = "report_identifier", matchingType = FieldMatchingTypeEnum.EQ)
    private String reportIdentifier;

    /**
     * 统一参量标识
     */
    @ApiModelProperty(value = "统一参量标识, 精确查询")
    @QueryParamField(columnName = "unified_identifier", matchingType = FieldMatchingTypeEnum.EQ)
    private String unifiedIdentifier;

    /**
     * 统一参量标识名称
     */
    @ApiModelProperty(value = "统一参量标识名称, 模糊查询")
    @QueryParamField(columnName = "unified_identifier_name", matchingType = FieldMatchingTypeEnum.LIKE)
    private String unifiedIdentifierName;

    /**
     * 类型
     */
    @ApiModelProperty(value = "类型")
    @QueryParamField(columnName = "type", matchingType = FieldMatchingTypeEnum.EQ)
    private String type;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态, 精确查询")
    @QueryParamField(columnName = "status", matchingType = FieldMatchingTypeEnum.EQ)
    private Integer status;

    @ApiModelProperty("id列表")
    @QueryParamField(columnName = "id", matchingType = FieldMatchingTypeEnum.IN)
    private List<Long> idList;

}

